Analog utility meter reading

ABSTRACT

A method and apparatus to read an analog dial utility meter including a plurality of analog dials, where each dial includes a rotating dial indicator is provided. The apparatus is configured to analyze a digital image of the analog dial utility meter to determine a value of each dial of the utility meter. The method comprises receiving a digital image of the analog dial utility meter, and performing one or more processing and analysis steps to determine a meter reading of the utility meter.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of U.S. application Ser. No.14/295,669 filed Jun. 4, 2014, which is divisional application of U.S.application Ser. No. 13/222,255 filed Aug. 31, 2011, the disclosures ofwhich are hereby incorporated by reference in their entirety.

FIELD OF THE INVENTION

The present invention relates to reading utility meters, and moreparticularly to obtaining customer-supplied meter readings from utilitymeters having analog dials with rotatable dial indicators.

BACKGROUND

Utility meters having analog dials are still used in many settings tomonitor utility usage of a location (e.g. residence, commercialbuilding, etc.) for natural gas, water, and/or electric. An analog dialutility meter will typically include one or more analog dials, eachhaving a respective dial indicator that rotates to point to differentnumbers on the dial as the associated utility is consumed. Typically,the utility supplier or its agent hires an individual, referred toherein as a meter reader, to travel to the various locations, view theanalog dials, and record the meter readings based on the numbers towhich the dial indicators point. The meter reader provides thatinformation back to the utility supplier or agent, so that their servercan determine utility usage and manage billings, such as billing thecustomer for the usage.

In smaller and/or less populated areas, the costs involved in having ameter reader travel to the various customer locations to take the meterreading can be prohibitive. Moreover, in some situations, the meter maybe located inside of a structure which is not always readily accessibleto the meter reader, thus hampering the meter reader and adding delayand further costs. In such situations, the utility supplier often relieson the customer to view the dials and manually self-report the meterreading based on what the customer sees on the dials. While receivingmanually, self-reported utility meter readings from customers providessome savings as compared to having a meter reader travel to eachlocation, cost factors and other problems are often encountered withsuch customer supplied meter readings.

For example, in one conventional method for customers to manuallyself-report meter readings, utility meter reading cards are periodicallymailed to the customer. The customer is to view the dials and mark inthe positions of the respective dial indicators on the card. Thecompleted card is then to be mailed back to the utility supplier or itsagent, who must then enter the markings into the computer server todetermine utility usage and manage billings. Not only is there the costof postage, both for mailing the utility meter reading card to thecustomer and for mailing of the completed card back to the utilitysupplier, other problems are often encountered. For example, cards canbe lost or delayed, customers may make incorrect readings or markings,and in some cases, customers might not complete the card. Another methodof manual self-reporting involves the customer calling into an automatedsystem to recite the utility meter reading as discerned from thecustomer's view of the meter dials. While that serves to eliminate somecost, other difficulties may arise, such as failure of the customer tocall in the meter reading or inaccuracies by the customer and/or in thespeech recognition process.

SUMMARY OF THE INVENTION

The present invention facilitates easy capture of analog meter readingsand analysis thereof by which to simply, economically, and automaticallyobtain accurate customer-supplied meter readings without thedisadvantages encountered with present approaches. To that end, and inaccordance with the principles of the present invention, a customer orother individual takes a digital picture of the analog utility meter,specifically including at least the dials thereof, such as with adigital camera. The image received from the digital camera is analyzedby a processor to determine the positions of the respective dialindicators and to define therefrom the value of the dial indicators. Theprocessor is programmed to execute image processing functions whichidentify the dials from the image, locate the relative angular positionsof the dial indicators in the image, and determine therefrom the valueof each dial. The determined values constitute a meter reading. Themeter reading can then be utilized by the utility provider or itsbilling agent to determine utility usage and manage billing.

In particularly advantageous embodiments of the invention, the digitalpicture may be received through a digital camera forming part of amobile computing device such as a smart phone. In accordance with oneaspect of the present invention, a computer application, commonlyreferred to as an “app,” is programmed into the smart phone. Launchingthat app causes the processor of the smart phone to receive and analyzethe image and generate therefrom the meter reading. The meter readingcan then be sent, using the communication facility of the smart phone,to a server associated with a utility provider or its agent to determineutility usage and manage billings.

The digital image can also be transmitted with the meter reading forarchiving and/or re-analysis as a check, for example, of the meterreading from the smart phone device. Alternatively, the digital imagemay be sent without analysis to the server where the processor thereofhas been programmed to analyze the image and generate the meter readingfor use as above. The digital image may also include details identifyingthe particular utility meter and which details may be used by theutility provider or its agent to confirm that the meter reading is forthe specific location.

While the present invention is particularly advantageously applied toand with a smart phone, other embodiments do not necessarily require orinvolve a smart phone. For example, other mobile computing devicesgenerally considered to be hand-held and having digital imaging andcommunication capability may be used, such as tablet computers, netbookcomputers, or the like. Similarly, the digital image can be captured bya stand-alone digital camera, and then transferred to a separatecomputer, either wirelessly or with a cable. The separate computer couldbe a customer's computer where the image is processed and the resultscommunicated to the server. Or the computer could be the server, whichreceives the image from the digital camera or from an intermediarycomputer such as a customer's computer which itself had received thedigital image. In any of these situations, the processor of the computer(whether of the mobile computing device, the customer's computer, and/orthe server) may be programmed to analyze the received image.

Most individuals have digital cameras and computers equipped forinternet communication. Many also have mobile computing devices, such assmart phones. Thus, deployment and/or implementation of the inventioncan be readily and economically accomplished to automatically developand provide customer supplied meter readings, but in a fashion that isso easy to use that compliance is far more likely, with little cost andwith significantly less risk of error than encountered with presentapproaches. For example, with the present invention, the customer doesnot have to determine the respective positions of the dial indicators,does not have to fill out and mail a card, and does not have to call andreport the dial indicator positions verbally. Instead, the customer needmerely aim the digital camera at the meter dials and takes a picturethereof in conventional manner. The processor will perform all thenecessary analysis to generate, and possibly communicate, the meterreading based on the image received from the digital camera. As aconsequence, the drawbacks of prior analog meter reading methods areovercome. More particularly, the foregoing can be readily accomplishedwithout the costs of sending meter readers to the consumer locations,and without the delays, costs, and errors of approaches which involvethe consumer manually reading the dials, and completing mailings orvoice call-ins. Yet, the consumer can take the digital image and causeor permit it, or the meter reading, as appropriate, to be sentelectronically to the server of the utility provider or its billingagent, thereby reducing costs and errors. Nonetheless, in somesituations, the utility supplier or its agent may find it beneficial toprovide the meter reader(s) with an appropriate programmed mobilecomputing device to facilitate their meter reading tasks.

By virtue of the foregoing, there is thus facilitated easy capture ofanalog meter readings and analysis thereof by which to simply,economically, and automatically obtain accurate meter readings withoutthe disadvantages encountered with present approaches. These and otheradvantages of the present invention will be more readily apparent fromthe accompanying drawings and description thereof.

BRIEF DESCRIPTION OF THE DRAWINGS

The accompanying drawings, which are incorporated in and constitute apart of this specification, illustrate embodiments of the invention, andtogether with the general description of the invention given above andthe detailed description of the embodiments below, serve to explain theprinciples of the present invention.

FIG. 1 is a schematic diagram of an exemplary mobile computing deviceadapted to provide functions by which to receive and analyze digitalimages of the dials of an analog utility meter to automaticallyself-report utility usage in accordance with the principles of thepresent invention;

FIG. 2 is a diagrammatic illustration of an individual, such as autility customer, using the mobile computing device of FIG. 1 to take adigital picture of an analog utility meter dials which results in animage to be analyzed by the processor of the mobile computing device inaccordance with the principles of the present invention;

FIG. 2A is an enlarged view of a portion of FIG. 2 showing an exemplaryanalog utility meter;

FIG. 3 is a flow chart illustrating a sequence of operations executableby the processer of the mobile computing device of FIG. 1 for analyzinga digital image of the utility meter to automatically generate a meterreading therefrom and transmit same to a server of a utility provider orits agent in accordance with the principles of the present invention;

FIG. 4 is a plan view of a portion of a received digital image showingthe dials of the utility meter;

FIG. 5 is a flow chart illustrating one example of a sequence ofoperations executable by the processor of the mobile computing device ofFIG. 1 for processing the digital image as part of the sequence of FIG.3;

FIG. 6 is a plan view of an inverted image of the digital image of FIG.4 after processing to convert to gray scale and inverted pursuant to thesequence of operations of FIG. 5;

FIG. 7 is a plan view of an eroded image of the inverted image of FIG. 6after further processing with a morphological filter, a top-hattransform, normalizing, and eroding pursuant to the sequence ofoperations of FIG. 5;

FIG. 8 is a plan view of a bi-level image of the eroded image of FIG. 7after further processing with a threshold filter pursuant to thesequence of operations of FIG. 5;

FIG. 9 is a flow chart illustrating one example of a sequence ofoperations executable by the processor of the mobile computing device ofFIG. 1 for analyzing the processed digital image to identify dialindicators as part of the sequence of FIG. 3;

FIG. 10 is a flow chart illustrating one example of a sequence ofoperations executable by the processor of the mobile computing device ofFIG. 1 for determining the value of the dial indicators as part of thesequence of FIG. 3;

FIG. 11 is a view of a portion of the exemplary analog utility meter ofFIG. 2A.

FIG. 12 is a plan view of a portion of another received digital imageshowing the dials of the utility meter;

FIG. 13 is a plan view of the digital image of FIG. 12 after partialprocessing of the image;

FIG. 14 is a plan view of another received digital image showing autility meter; and

FIG. 15 is a plan view of yet another received digital image showing autility meter.

It should be understood that the appended drawings are not necessarilyto scale, presenting a somewhat simplified representation of variousfeatures illustrative of the basic principles of embodiments of theinvention. The specific design features of embodiments of the inventionas disclosed herein, including, for example, specific dimensions,orientations, locations, and shapes of various illustrated components,as well as specific sequences of operations (e.g., including concurrentand/or sequential operations), will be determined in part by theparticular intended application and use environment. Certain features ofthe illustrated embodiments may have been enlarged or distorted relativeto others to facilitate visualization and clear understanding.

DETAILED DESCRIPTION OF THE DRAWINGS

With reference to FIG. 1, there is shown a schematic view of anexemplary mobile computing device 10 which may advantageously be adaptedor used with the present invention. Mobile computing device 10 has ahousing 12 sized to be easily held in one hand by an individual 14 (FIG.2), such as a utility customer or someone acting on the customer'sbehalf, or a meter reader. One particularly advantageous type of mobilecomputing device 10 is a smart phone, such as an iPhone or a Droid-basedcellular phone by way of examples, the housing 12 of which is sized tobe hand-held so as to be easily carried in or with one hand. Mobilecomputing device 10 will thus be referenced herein as a smart phone,although it will be understood that the mobile computing device 10 couldbe some other comparable, hand-held device, such as a tablet computer anexample of which is the iPad, a netbook computer, or the like.

Housing 12 supports the various electronic components of the smart phone12 operatively interconnected by one or more busses 15. These componentsinclude a digital camera 16, a microphone 17, a speaker 18, atransceiver (T/R) section 19, a processor 20, a memory 22, and adisplay/user interface 24, all as may be standard in a smart phone 10.Housing 12 may also support a battery 25, which may be rechargeable, toprovide power to the various electrical components of smart phone 10such that the smart phone 10 is mobile and self-contained for use. Thedisplay/user interface 24 provides images to the user 14, such as iconsor other virtual buttons as at 26, or digital images sent to the smartphone 10, or as captured by the digital camera 16 thereof. Similarly,the memory 22 includes various operating programs 27 for operation ofthe smart phone 10 and a data storage 28. Smart phone 10 may, throughits T/R section 19, communicate over a communication network 30 (FIG.2). The communication network 30 may be provided by a cellular provider,examples of which include Verizon, Sprint, and AT&T. The communicationnetwork 30 can be, by way of further example, a Code Division MultipleAccess (CDMA) or Global System for Mobile Communications (GSM) network,and may also include an IEEE 802.11 (WiFi) network as all or partthereof. Data may be stored in a data storage 28 of memory 22 by whichto facilitate storage and communication of data such as digital imagestaken by camera 16 or messages, texts, images, and/or web pages receivedby the smart phone 10 over the communication network 30.

Smart phone 10 may be used in conventional fashion, but for purposes ofthe present invention, memory 22 may also contain therein an app 35,which may be stored along with other operating programs 27. The app 35stores various instructions, routines, functions, operations and thelike to be executed by the processor 20 to adapt the smart phone 10 toperform as an electronic reader of analog meters 40 (FIG. 2) inaccordance with the principles of the present invention. As will bereadily appreciated by users of smart phones, the app 35 may bedownloaded into the smart phone 10 over the communication network 30,for example, or otherwise loaded into the smart phone 10 wirelessly suchas by a WiFi, Bluetooth, or infrared link, or with a cable or otherphysical link from another computer (not shown) or memory stick or thelike having access to the software making up the app 35.

Use of the smart phone 10 with the app 35 activated or launched, such asby tapping on or otherwise selecting the icon 26 on the display/useinterface 24 associated with the app 35, for purposes of obtaining ameter reading will now be described with reference to FIG. 2. As seen inFIG. 2, an analog utility meter 40 may be mounted to a wall 41 of ahouse or other structure 42 to monitor usage of a utility of thatstructure 42. With further reference to FIG. 2A, which is an enlargedview of a portion of FIG. 2, meter 40 includes a plurality of dials 44each having a dial indicator 46 which rotates, such as clockwise orcounterclockwise (they may all rotate in the same direction, or some mayrotate in one direction while others rotate in the other direction)driven by an axial pin 47 of the dial 44 as the utility being metered isused. The angular relationship of each dial indicator 46 correlates tothe amount of utility consumed, such as by pointing to respectivenumbers about the dial 44. The meter 40 typically also includesidentifying indicia, such as a serial number or the like as at 48.

With the app 35 activated, the individual 14 holds the smart phone 10 soas to aim the digital camera 16 thereof at the dials 44. An image ofwhat is in the view of the digital camera 14 will typically show in thedisplay/user interface 24. The individual 14 desirably positions thesmart phone 10 such that the dials 44 are aligned horizontally acrossthe display/user interface 24 and visible within a bracketed image area(not shown). The user may be prompted by a message on the display/userinterface 24 to either tap thereon to take a picture or swipethereacross to cancel. When the picture is taken, a digital image orpicture 52 of the meter 40 as seen in FIG. 2A, including the dials 44(see FIG. 4) will then typically be stored in the data store 28. Thedigital image 52 is considered received by the processor 20 of the smartphone 10 when it is taken.

Advantageously, the image 52 includes all of the dials 44 with therespective dial indicators 46 showing their respective angularrelationships within each dial 44. The digital image 52 alsoadvantageously, but need not necessarily, includes the meter identifyinginformation 48. When the picture 52 is taken, all or a portion thereofis also typically displayed on display/user interface 24.

The app 35 advantageously includes the necessary program code for theprocessor 20 to analyze the digital image 52 and generate therefrom ameter reading. The meter reading (with or without the image 52) may betransmitted via the communication network 30 from the smart phone 10 toa server 55, which is used by or on behalf of a utility supplier todetermine utility usage, manage billings and/or for other purposes asconsidered necessary by the utility supplier or its agents. As will bereadily understood, the server 55 may communicate with the communicationnetwork 30 directly or via other connections, such as telephone lines,other cable connections, the internet, and/or cellular or other wirelessconnections.

Alternatively, the smart phone 10 may not analyze the digital image 52but can instead transmit only the digital image 52 to the server 55. Theserver 55 may contain a program 56 which will cause the processor 57 ofthe server to analyze the received digital image 52 and generate themeter reading directly generally as described herein as in the case ofapp 35. Still further alternatively, where the smart phone 10 transmitsboth the digital image 52 and the meter reading, the processor 57 of theserver may analyze the digital image 52 to compare it to the receivedmeter reading as a reliability check. And in either event, the digitalimage 52 may be evaluated at or by the server 55 in respect of the meteridentifying information 48 to confirm that the digital image 52 and/ormeter reading are from an expected meter 40.

An exemplary process 60 which may be performed by the processor 20utilizing the program code of the app 35 is shown in FIG. 3. Thatprocess 60 starts at block 62 by receiving the digital image 52 of themeter 40, and particularly including the dials 44 thereof such as bytaking the picture of the meter 40 with the digital camera 16 as abovedescribed. That portion of the image 52 including the dials 44 asreceived is shown in FIG. 4. Next, the digital image 52 is processed atblock 64, and is then analyzed at block 66 to identify the dialindicators 46 from within the image 52. Once identified, the dialindicators 46 are analyzed at block 68 to determine the values thereof,such as by determining their respective angular rotation in order todetermine what number each is actually pointing to in the dials 44. Theresults from block 68 are used at block 70 to generate the meterreading, which is in its simplest form, the string of numberscorresponding to the numbers indicated by each dial indicator 46 asdetermined from block 68. The meter reading may then be transmitted tothe server 55 at block 72 whereupon the process 60 may end.

As known by those skilled in the art, a digital image, such as image 52,comprises a plurality of pixels of varying intensity values, where theintensity value of a pixel corresponds to the color of the pixel. Thedigital image 52 of the dials 44 of the utility meter 40 may include aplurality of objects, where each object comprises a subset of pixels ofthe plurality of pixels of the digital image, and some of the objectsmay correspond to the dial indicators 46, and other objects will beobjects not needed for determining a meter reading. As such, imageprocessing functions may be used at blocks 64 and 66 to identify thoseobjects which are dial indicators 46.

One example of a process 76 which may be implemented for block 64 ofprocess 60 will be described by reference to FIG. 5. Process 76 isprovided to improve identification of the dial indicators 46 from therest of the image 52. To that end, the digital image 52 is firstconverted to a gray-scale image at block 78, such as by converting onecolor space to another, and in this example, the colors of the digitalimage may be converted to varying shades of gray. The processor theninverts that converted gray-scale image at block 80 to, in effect,create an inverted or high-contrast image 82. That portion of thehigh-contrast image 82 related to the dials 44 is shown in FIG. 6,wherein it can be seen that the objects of interest, such as the dialindicators 46, appear to have high intensities as contrasted to most ofthe other objects. In that regard, in a direct image, such as image 52,the dial indicators 46 are typically are low intensity objects (i.e.dark gray/black colors), and by inverting same after conversion to agray-scale image, the dial indicator objects in the processed image maybe high intensity objects (e.g., colors close to white as at 84 in FIG.6).

Process 76 continues to block 86 to apply a morphological filter to theinverted image 82 such that smaller objects of high intensities and lowintensities may be removed from the image, where these smaller objectstypically comprise objects not needed for determining the utility meterreading. Examples of such unnecessary objects include the pins 47attaching a dial indicator 46 to a dial 44 and the identifying indicia48 to name a few. The morphological filtering advantageously utilizes adefined structuring element which operates to smooth objects smallerthan the defined structuring element, thereby producing a smoothedimage, where the smaller objects of high and low intensities have beenremoved, which provides an improved digital image for analysis todetermine the dial indicator objects.

A top-hat transform is applied to the smoothed image at block 90 toproduce a background image which is subtracted from the smoothed imageto produce a transformed image from which the background has beeneffectively removed from the smoothed image, thereby leaving primarilyonly objects representative of the dial indicators 46 and furtherremoving objects that are not needed to determine the meter reading. Forexample, an object associated with glare from lighting in the digitalimage 52 may be removed from the transformed image by subtracting thebackground image from the smoothed image. As such, applying the top-hattransform to produce the background image and subtracting the backgroundimage from the smoothed image to produce the transformed image generallyserves to correct objects caused by uneven illumination in the digitalimage 52.

As a result of the processing at block 90, the intensity of objects inthe transformed image decreases as compared to the original digitalimage 52 such that the transformed image may, when viewed, actuallyappear rather dark. To increase the overall brightness of thetransformed image, which aids in identifying the dial indicator objects,the processor 18 normalizes the intensities of objects in thetransformed image at block 92, and the result is then eroded at block 94so as to reduce the boundaries of objects therein. This has theadvantage of removing thin objects (i.e., objects having narrow areas)and helps to separate object boundaries that may have been blurredtogether when the digital image 52 was captured and/or from previousprocessing steps. Thus, additional unneeded objects may be removed, andthe boundaries of the dial indicator objects may be further refined. Anexample of an eroded image 95 following from the results of block 94 isshown in FIG. 7.

The process 76 concludes with block 96 at which a threshold filter isapplied to the eroded image 95 whereby intensity values of the pixels ofeach object are set to one of two values: either the intensity valueassociated with a black color, or the intensity value associated with awhite color to thereby produce a bi-level (e.g., binary, black andwhite) image 98, an example of which is shown in FIG. 8. In theembodiment shown, the pixels of the dial indicator objects are set towhite (i.e. a high intensity value) and the background and some otherunneeded objects are set to black (i.e. a low intensity value).

The results from process 76 may then be utilized at block 66 of process60 (FIG. 3) to identify the remaining objects and identify therefromwhich are the dial indicators 46. One example of a process 100 which maybe implemented at block 66 is described with reference to FIG. 9. Inthat regard, image processing functions configured to be executed toidentify objects in a digital image generally identify objects bydetermining intensity boundaries between neighboring pixels in thedigital image. As such, processor 20 operates under the software of app35 at block 102 to determine where the intensity value of neighboringpixels in the bi-level image 98 vary beyond a desired threshold, withthose boundaries being analyzed to determine whether they associate withother intensity boundaries, thereby defining regions enclosed by theboundaries. The enclosed regions make up the various objects.

After defining the various objects at block 102, processor 20 executesfunctions configured to analyze those objects and determine one or moregeometric characteristics thereof at block 104. Geometriccharacteristics of the identified objects that may be determinedinclude, for example, the perimeter of the object (defined by theboundaries enclosing the object), the enclosed area of the object, thenumber of vertices of the object, eccentricity of the object, center ofmass of the object, and/or the image moment of the object. The geometriccharacteristics are then compared at block 106 to expected ranges of thegeometric characteristics of a dial indicator object, with those objectshaving geometric characteristics in the expected ranges being identifiedas dial indicator object candidates. The identified dial indicatorobject candidates are then analyzed to determine a centroid and endpointof each dial indicator object candidate at block 108. The processor 20then analyzes the centroids and/or endpoints of the dial indicatorobject candidates at block 110 to thereby identify the dial indicators46 from the digital image 52.

In that regard, it will be appreciated that a digital image may bedefined on a two-dimensional coordinate system comprising x (horizontal)and y (vertical) axes. In some embodiments, the centroids of the dialindicator object candidates are sorted by their x-coordinate values. Theprocessor 20 defines a horizontal bin of a desired vertical range, andthe processor analyzes the y-coordinate values of the centroids todetermine if the requisite number of centroids occur in the horizontalbin. The requisite number of centroids varies depending on how manydials 44 are configured on the utility meter 40. For example, in autility meter 40 comprising five dials as seen in FIGS. 2A and 4, theprocessor would determine whether five y-coordinate values occur withinthe horizontal bin. As such, in some embodiments, the processor 20generates a horizontal bin of a desired range, where the range alsodepends on the spacing between dials 44 on the utility meter 40.

The processor 20 may select a first centroid having an x-coordinatevalue furthest to the right in the digital image 52, and may determinewhether the desired number of centroids occur within a given horizontaldistance (i.e. the size of the horizontal bin) of the first centroid. Ifthe desired number of centroids occur within the given horizontaldistance, the processor 20 determines whether the centroids within thehorizontal range are approximately evenly spaced, and if both conditionsare met, the processor 20 identifies the objects corresponding to thecentroids within the horizontal range as the dial indicator objects. Theprocessor 20 may perform this analysis for each centroid beginning withthe centroid having the x-coordinate value furthest to the right (or tothe left) proceeding through the adjacent centroids until the conditionsare met to determine the dial indicator objects. Those objects areidentified or determined as the dial indicators 46.

At block 68 of process 60 (FIG. 3), the identified dial indicators 46are then analyzed to determine the value of the dial indicators 46,i.e., the numbers they are each pointing to on their respective dials44. In that regard, the processor 20 may undertake at block 68 theprocess 120 of FIG. 10 in which the centroids and endpoints of the dialindicator objects are analyzed to determine a dial indicator angleassociated with each dial indicator object at block 122. The dialindicator angle will correlate to the number to which each respectivedial indicator 46 is pointing to thus provide the value of each dialindicator at block 68. The meter reading may then be generated therefromat block 70 of process 60 as above-mentioned.

Analyzing the centroids and/or endpoints of each dial indicator objectcandidate includes, for example determining whether centroids of two ormore dial indicator object candidates are collinear, determining whetherthe end-point of a candidate object is an expected distance from thecentroid of the candidate object, and/or determining whether centroidsof three or more dial indicator object candidates are spaced equallydistant from each other. A vector (not shown) may be defined for eachidentified dial indicator object, the vector passing through thecentroid and end point of each identified dial indicator object, anddetermining the value of each dial indicator may be based at least inpart on the defined vector for each identified dial indicator object.For example, a slope associated with each vector may be determined, andthe value of each dial indicator object may be based at least in part onthe determined slope. An angle of rotation of each dial indicator may bedetermined, where the rotation point may be defined at the centroid ofeach dial indicator object, and the end point of the dial indicatorobject defines the rotational arm. As each dial indicator 46 rotates360° about the associated dial 44 of the utility meter 40, an angle ofrotation for each dial indicator 46 may be determined based on thecircular path of rotation thereof.

Moreover, and with reference to FIG. 11, as those skilled in the artwill recognize, the plurality of dials 44 of a utility meter 40 aregenerally related such that a full 360° rotation of the dial indicator46 on a first dial 44 a corresponds to a 36° rotation of the dialindicator 46 of a second dial 44 b being immediately to the left of thefirst dial 44 a. As such, in some embodiments, determining a valueassociated with the second dial 44 b may be based at least in part onthe determined value of the first dial 44 a. Therefore, in someembodiments, if the value of the second dial 44 b is between two values,i.e., analysis of the dial indicator 46 of the second dial 44 bindicates that the dial indicator 46 is between two values on the dial,the value associated with the first dial 44 a may be used to accuratelydetermine the value of the second dial 44 b. For example, if the dialindicator 46 of the first dial 44 a was pointed at three (3) and thedial indicator of the second dial 44 b was between five (5) and six (6),the value determined for the second dial 44 b would be five (5), not six(6) based on the position of the first dial 44 a.

Referring now to FIGS. 12 and 13, another analog utility meter 140 isillustrated. As shown in FIG. 12, the analog utility meter 140 includesa plurality of dials 144 each having a dial indicator 146 which rotatesdriven by an axial pin 147. The dials 144 and dial indicators 146operate in the same manner as previously discussed, with the dialindicators 146 rotating either clockwise or counterclockwise dependingupon the configuration of the particular analog utility meter. Theangular relationship of each dial indicator 146 correlates to the amountof utility consumed, such as by pointing to respective numbers about thedial 144. The meter 140 typically also includes identifying indicia,such as a serial number or the like.

In contrast to the meter 40 shown in FIG. 2A, the meter 140 shown inFIGS. 12 and 13 is configured with the dials 144 arranged along an arc.The configuration of the dials is a predetermined patter correspondingto a known utility meter configuration allowing the dials to berecognized by the app 35 from a captured digital image. For example, thecentroids of the plurality of dials 144 define an arc having a definedradius. In use, when the app 35 is activated, the individual 14 holdsthe smart phone 10 so as to aim the digital camera 16 thereof at thedials 144. The individual 14 may position the smart phone 10 such thathe dials 144 are visible within a bracketed image area, or alternativelythe digital image may capture the plurality of dials without requiringuser alignment to a bracketed image area. As previously discussed, theprocessor 20 of the smart phone 10 utilizing the program code of the app35 to analyze the received digital image to identify the dial indicatorsin the digital image and analyzes the identified dial indicators todetermine a value of each dial. Referring to FIG. 13, the digital imageis shown partially processed with the dials 144 and centroids or axialpins of the dials identified. In this manner, the analog utility meter140 can be read with the smart phone 10 and the app 35 in the samemanner as previously discussed for other utility meters with dialsarranged in a horizontal configuration.

Referring now to FIGS. 14 and 15, embodiments of analog utility metersare illustrated with scrolling dials. These utility meters may generallybe referred to as scrolling dial utility meters. As shown in FIG. 14,the scrolling utility meter 240 includes a plurality of scrolling dials244 each representing one digit of the meter value. The meter 240includes five scrolling dials 244, however other embodiments may includea different number of dials as desired. Each scrolling dial 244 isconfigured to rotate such that a value from 0 to 9 is illustrated inviewing window, with the value visible being the current value of theindividual dial. The meter 240 is configured with dials 244 that scrollhorizontally, i.e. the dials rotate on an axis perpendicular to the faceof the utility meter 240. In the embodiment shown in FIG. 15, thescrolling utility meter 340 similarly includes five scrolling dials 344.The dials 344 however scroll vertically, i.e. the dials rotate on anaxis parallel to the face of the utility meter 340.

In an embodiment, the smart phone 10 and app 35 are configured to readthe scrolling utility meter using the camera, process and wirelesstransceiver as previously discussed. Initially, a digital image is takenof the plurality of scrolling dials of the utility meter with the cameraof the smart phone. Next, the digital image is analyzed to identify thedial indicators in the digital image. As shown, the dial indicators 246,346 include a rectangular area through which the value of the dial isviewed. The identified dial indicators are then analyzed to determinethe value of the dials using the processor of the smart phone, and thedetermined values may be transmitted with the wireless communicationtransceiver of the smart phone.

The digital image of the scrolling utility meter 240 may be analyzed bythe processor using each of the functions and methods previouslydiscussed to identify the dials and dial indicators within the digitalimage. In some embodiments, analyzing the identified dial indicators todetermine a value of the dials also includes applying optical characterrecognition to determine the value of the dials. For example, once thedial indicators 246 are identified, the values wholly within the visiblearea of the dial indicator may be determined using an optical characterrecognition function of the app 35. In some embodiments, analyzing theidentified dial indicators to determine a value of the dials alsoincludes applying optical character recognition to determine partialcharacters and extrapolating from the partial characters to determinethe value of the dials. For example, as shown in FIG. 14, the right mostdial indicator includes a partially visible numeral “2” due to thepartial rotation position of the dial. The optical character recognitionfunction of the app 35 may be used to identify the visible portion ofthe dial, which may then be extrapolated to determine the actual valueof the dial. Similarly, in FIG. 15, the second and fourth digits arepartially rotated. The optical character recognition function may beused to detect the partial characters and to extrapolate from thepartial characters to determine the value of the dials. In yet otherembodiments, the optical character recognition function may beconfigured to determine the value of dials midway between twocharacters, such as when the top of a “4” and the bottom of a “5” arevisible, and to properly determine the value of the dial. In thismanner, the smart phone 10 and app 35 previously discussed may be usedto read analog utility meters with rotatable dials, analog utilitymeters with scrollable dials, both or a combination.

Those ordinarily skilled in the art can readily develop appropriatesoftware for the app 35 based on use of image processing functions fromknown libraries of image processing functions. One example is the OpenSource Computer Visions or OpenCV library originally authored by theIntel Corporation of Mountain View, Calif., USA, and currently availableunder Berkeley Software Distribution (BSD) License at the following url:http://sourceforge.net/projects/opencvlibrary. Particular OpenCVfunctions which may be used in the app 35 include, by way of example,‘cvCvtColor’ as part of block 78; ‘cvNot’ as part of block 80;‘cvMorphologyEx’ as part of block 86; ‘cvMorpohologyEx( . . .CV_MOP_TOPHAT)’ and/or ‘cvSub’ as part of block 90; ‘cvNormalize’ aspart of block 92; ‘cvErode’ as part of block 94; ‘cvThreshold’ as partof block 96; ‘cvFindContours’ as part of block 102,‘cvContourPerimeter’; ‘cvContourArea’; ‘cvApproxPoly’; ‘cvDrawContours’;and/or ‘cvMoments’ at blocks 104 and/or 106; and/or ‘cvConvexHu112’ atblock 108.

Moreover, those ordinarily skilled in the art can readily develop anappropriate software user interface consistent with embodiments of theinvention to automate some operations performed by the device and/orallow a user to input relevant data to the device and/or make selectionsfrom user interface menus for reading the utility meter. As softwareuser interfaces are generally known in the relevant field, a userinterface will only be briefly discussed hereafter. For example, an app35 loaded on a smart-phone consistent with the invention mayadvantageously include a user interface, where the user interface allowsa user to make selections related to reading a utility meter via menusgenerated by the user interface. For example, the user may select from alist the relevant utility service provider. Advantageously, userselection of a particular utility service provider may cause the utilitymeter reading to be transmitted to a specific communication networkaddress. Moreover, the number of dials on a utility meter depends on thetype of utility the meter is measuring. As such, the user interface mayallow a user to select the type of utility that a meter measures, and inresponse to the user selection of the type of utility, analysis of thedigital image adjusts to identify the appropriate number of dialindicators. Furthermore, an app executing on a smart-phone typicallyallows a user to capture a digital image while executing the app 35 onthe smart-phone. Alternatively, the user interface may allow a user toselect and load a previously captured digital image from memoryassociated with the smart-phone.

An exemplary set of code listings of the app 35 are included in theappendix of U.S. application Ser. No. 13/222,255. It will beappreciated, however, that other functions and software coding may beutilized as generally recognized and understood by those skilled in theart with the benefit of the features and advantages of the invention ashereinabove described.

While the invention has been illustrated by the description of one ormore embodiments thereof, and while the embodiments have been describedin considerable detail, they are not intended to restrict or in any waylimit the scope of the appended claims to such detail. Additionaladvantages and modifications will readily appear to those skilled in theart. Those skilled in the art will recognize that the embodimentsillustrated herein are merely exemplary and that other alternativehardware and/or software environments, and different numbers andconfigurations of hardware resources, may be used without departing fromthe scope of the invention. In that regard, “processor” refers topractically any computing device, such as a microprocessor,microcontroller, bit slice, computer, or the like and may be singular orplural, with execution of the various steps performed locally ordistributed. Similarly, it will be appreciated that the flow charts ofFIGS. 3, 5, 9, and 10 are merely exemplary to illustrate sequences ofoperations consistent with some embodiments of the invention. Thoseskilled in the art will recognize that the sequences of operationsillustrated in the blocks of those flow charts may be removed, added to,and/or performed in alternative sequences without departing from thescope of the invention.

By way of example, while a smart phone 10 is a particularly advantageousimplementation of the present invention, other mobile computing devicescould be employed. Further, the digital image 52 can be captured by astand-alone digital camera (not shown), and then transferred to aseparate computer, either wirelessly or with a cable. The separatecomputer could be a customer's computer (not shown) where the image isprocessed and analyzed as described herein, and the results communicatedto the server 55. Or the computer could be the server 55, which receivesthe image from the digital camera (not shown) or from an intermediarycomputer such as a customer's computer (not shown) which itself hadreceived the digital image 52 as described herein. In any of thesesituations, the processor of the computer (whether of the mobilecomputing device, the customer's computer, and/or the server) may beprogrammed to analyze the received image 52.

Additionally, while the present invention advantageously facilitateseasy capture of analog meter readings and analysis thereof by which tosimply, economically, and automatically obtain accuratecustomer-supplied meter readings without the disadvantages encounteredwith present approaches, meter readers may also take advantage of thepresent invention, such as with an appropriate programmed mobilecomputing device 10. Similarly, while the invention has been describedin the context of a fully functioning smart phone 10 with the app 35, itwill be appreciated that the various embodiments of the programming forimplementing the invention are capable of being distributed as a programproduct in a variety of forms, and that the invention applies equallyregardless of the particular type of computer readable media used toactually carry out the distribution. Examples of computer readable mediainclude but are not limited to physical and tangible recordable typemedia such as volatile and nonvolatile memory devices, floppy and otherremovable disks, hard disk drives, optical disks (e.g., CD-ROM's, DVD's,etc.), among others.

The invention in its broader aspects is therefore not limited to thespecific details, representative apparatus and methods and illustrativeexamples shown and described. Accordingly, departures may be made fromsuch details without departing from the scope or spirit of Applicants'general inventive concept.

What is claimed is:
 1. A method of reading a utility meter with a mobiledevice having a camera, a processor, and wireless communicationtransceiver associated therewith, the utility meter having a pluralityof scrolling dials, the plurality of scrolling dials each having ascrolling dial indicator, the method comprising: taking a digital imageof the plurality of scrolling dials of the utility meter with the cameraof the mobile device; analyzing the digital image to identify the dialindicators in the digital image; analyzing the identified dialindicators to determine a value of the dials with the processor of themobile device; wherein analyzing the digital image to identify the dialindicators in the digital image includes converting the digital image toa gray-scale image, inverting the gray-scale image to produce a highcontrast image, applying a morphological filter to the high contrastimage to produce a smoothed image, applying a top-hat transform to thesmoothed image to produce a transformed image, eroding boundaries ofregions in the transformed image to produce an eroded image, applying athreshold filter to the eroded image to produce a bi-level image, andanalyzing the bi-level image to identify the dial indicators in thedigital image with the processor of the mobile device; and transmittingthe determined value with the wireless communication transceiver of themobile device, whereby the utility meter is read with the mobile device.2. The method of claim 1, wherein analyzing the digital image toidentify the dial indicators in the digital image includes applying athreshold filter to the digital image to produce a bi-level image, andanalyzing the bi-level image to identify the dial indicators in thedigital image with the processor of the mobile device.
 3. The method ofclaim 1, wherein analyzing the digital image to identify the dialindicators in the digital image includes determining contours in thedigital image with the processor of the mobile device.
 4. The method ofclaim 1, wherein analyzing the identified dial indicators to determine avalue of the dials includes applying optical character recognition todetermine the value of the dials.
 5. The method of claim 1, whereinanalyzing the identified dial indicators to determine a value of thedials includes applying optical character recognition to the identifieddial indicators to determine partial characters and extrapolating fromthe partial characters to determine the value of the dials.
 6. Themethod of claim 1, wherein the determined value is transmitted to aserver of a utility supplier.
 7. The method of claim 6, the methodfurther comprising transmitting the digital image with the wirelesscommunication transceiver to the server of the utility supplier.
 8. Amethod of reading a utility meter with a mobile device mobile devicehaving a camera, a processor, and wireless communication transceiverassociated therewith, the utility meter having a plurality of scrollingdials, the plurality of scrolling dials each having a scrolling dialindicator, the method comprising: receiving a digital image of theplurality of scrolling dials of the utility meter taken with the cameraof the mobile device; analyzing the digital image to identify the dialindicators in the digital image; wherein analyzing the digital image toidentify the dial indicators in the digital image includes convertingthe digital image to a gray-scale image, inverting the gray scale imageto produce a high contrast image, applying a morphological filter to thehigh contrast image to produce a smoothed image, applying a top-hattransform to the smoothed image to produce a transformed image, erodingboundaries of regions in the transformed image to produce an erodedimage, applying a threshold filter to the eroded image to produce abi-level image, and analyzing the bi-level image to identify the dialindicators in the digital image; and analyzing the identified dialindicators to determine a value of the dials.
 9. The method of claim 8,wherein analyzing the digital image to identify the dial indicators inthe digital image includes determining contours in the digital image.10. The method of claim 8, the method further comprising transmittingthe digital image with the wireless communication transceiver to aserver of a utility supplier.
 11. The method of claim 10, whereinanalyzing the digital image to identify the dial indicators in thedigital image includes analyzing the digital image with the server ofthe utility supplier.
 12. A mobile device configured to read a utilitymeter having a plurality of scrolling dials each having a scrolling dialindicator, the mobile computing comprising: a housing; a processor, amemory, and a camera associated with the housing; and an applicationresident in the memory and configured to be executed by the processor tocause the processor to: take a digital image of the plurality ofscrolling dials of the utility meter with the camera of the mobiledevice; analyze the digital image to identify the dial indicators in thedigital image; analyze the identified dial indicators to determine avalue of the dials with the processor of the mobile device; and transmitthe determined value with the wireless communication transceiver of themobile device, whereby the utility meter is read with the mobile device;wherein the application is further configured to cause the processor toconvert the digital image to a gray-scale image, invert the gray-scaleto produce a high contrast image, apply a morphological filter to thehigh contrast image to produce a smoothed image, apply a top-hattransform to the smoothed image to produce a transformed image, erodeboundaries of regions in the transformed image to produce an erodedimage, apply a threshold filter to the eroded image to produce abi-level image, and analyze the bi-level image to identify the dialindicators in the digital image with the processor of the mobile device.13. The device of claim 12, wherein the application is furtherconfigured to cause the processor to determine contours in the digitalimage with the processor of the mobile device.
 14. The device of claim12, wherein the application is further configured to cause the processorto transmit the digital image with the wireless communicationtransceiver to a server of a utility supplier.